|
RAIS
3.2
|
00001 00028 using System; 00029 using System.Data; 00030 using System.Configuration; 00031 using System.Collections; 00032 using System.Web; 00033 using System.Web.Security; 00034 using System.Web.UI; 00035 using System.Web.UI.WebControls; 00036 using System.Web.UI.WebControls.WebParts; 00037 using System.Web.UI.HtmlControls; 00038 00039 using RAIS.Common.DynamicMaskManagement; 00040 using RAIS.Common.TableManagement; 00041 using RAIS.Common.UserManagement; 00042 00043 using TableTypes = System.Collections.Generic.Dictionary<string, RAIS.Common.TableManagement.Table.TableTypeData>; 00044 using TableGroups = System.Collections.Generic.Dictionary<string, RAIS.Common.TableManagement.TableGroup>; 00045 using Tables = System.Collections.Generic.Dictionary<string, RAIS.Common.TableManagement.Table>; 00046 using FieldTypes = System.Collections.Generic.Dictionary<string, RAIS.Common.TableManagement.Field.FieldTypeData>; 00047 using FieldSizes = System.Collections.Generic.Dictionary<string, RAIS.Common.TableManagement.Field.FieldSizeData>; 00048 using FunctionRoleCategories = System.Collections.Generic.Dictionary<string, RAIS.Common.UserManagement.FunctionRole.Category>; 00049 using FunctionRoleSubcategories = System.Collections.Generic.Dictionary<string, RAIS.Common.UserManagement.FunctionRole.Subcategory>; 00050 00051 namespace RAIS.UI.SpecificMasks 00052 { 00056 public partial class CustomTables : System.Web.UI.Page 00057 { 00058 //********************************************************************* 00059 #region Event handlers 00060 protected void Page_PreLoad(object sender, EventArgs e) 00061 { 00062 RAIS.UI.Common.PageManagement.TrimTextBoxValues(this); 00063 } 00070 protected void Page_Load(object sender, EventArgs e) 00071 { 00072 this.Response.Cache.SetNoStore(); 00073 this.Response.Redirect("CustomTables1_New.aspx"); 00074 00075 if (this.CurrentUser == null) 00076 UI.Common.AccessManagement.SignOut(this); 00077 00078 this.LBLresult.Text = ""; 00079 if (!this.IsPostBack) 00080 { 00081 this.LBLusername.Text = this.CurrentUser.Name; 00082 this.TXTtablename.MaxLength = RAIS.Common.Constants.SMALL_FIELD_MAX_LENGTH; 00083 this.TXTmaskname.MaxLength = RAIS.Common.Constants.SMALL_FIELD_MAX_LENGTH; 00084 this.TXTfieldname.MaxLength = RAIS.Common.Constants.SMALL_FIELD_MAX_LENGTH; 00085 this.BTNdelete.Attributes.Add("onclick", string.Format("javascript: return confirm('{0}');", RAIS.Common.Messages.DELETE_QUESTION_CUSTOM_TABLES.Replace("'", "\\'"))); 00086 00087 UI.Common.TableManagement.InitializeTableGroupList(this.DDLtablegroup); 00088 UI.Common.TableManagement.InitializeTableTypeList(this.DDLtabletype); 00089 UI.Common.TableManagement.InitializeCategoryList(this.DDLcategory); 00090 UI.Common.TableManagement.InitializeSubcategoryListByCategory(this.DDLsubcategory, this.SelectedCategory); 00091 UI.Common.TableManagement.InitializeTableFieldCategoryList(this.DDLfieldcategory); 00092 UI.Common.TableManagement.InitializeTableFieldSizeListByFieldCategory(this.DDLsize, this.SelectedFieldCategory); 00093 UI.Common.TableManagement.InitializeTableFieldNecessityList(this.DDLnecessity); 00094 UI.Common.TableManagement.InitializeTablesByGroup(this, this.SelectedTableGroup); 00095 UI.Common.TableManagement.InitializeRelatedTableList(this.DDLrelatedtable); 00096 this.EnableRemoveButton(); 00097 00098 UI.Common.PageManagement.InitializePage(this, this.TreeView1); 00099 // this.LBTNmessagebox.Visible = !(this.CurrentUser.FunctionalRole.Type == FunctionRole.FunctionRoleType.Guest); 00100 } 00101 00102 UI.Common.TableManagement.InitializeTableListByGroup(this.DDLtable, this.SelectedTableGroup); 00103 this.EnableDeleteButton(); 00104 UI.Common.TableManagement.InitializeTableFieldsList(this.LBfields, this.SelectedTable); 00105 if (!this.IsPostBack) 00106 { 00107 this.EditMode = false; 00108 } 00109 } 00110 protected void Page_Init(object sender, EventArgs e) 00111 { 00112 Common.PageManagement.SetScrolableListBox(LBfields, this, true); 00113 } 00120 protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) 00121 { 00122 UI.Common.UserManagement.ProcessTreeViewOnRedirect(this.TreeView1); 00123 } 00130 protected void BTNcreate_Click(object sender, EventArgs e) 00131 { 00132 AddNewTable(); 00133 } 00140 protected void BTNdelete_Click(object sender, EventArgs e) 00141 { 00142 if (this.ConfirmTableDeletion()) 00143 { 00144 this.DeleteSelectedTable(); 00145 } 00146 } 00153 protected void DDLtable_SelectedIndexChanged(object sender, EventArgs e) 00154 { 00155 UI.Common.TableManagement.InitializeTableFieldsList(this.LBfields, this.SelectedTable); 00156 } 00163 protected void DDLtablegroup_SelectedIndexChanged(object sender, EventArgs e) 00164 { 00165 UI.Common.TableManagement.InitializeTableListByGroup(this.DDLtable, this.SelectedTableGroup); 00166 UI.Common.TableManagement.InitializeTableFieldsList(this.LBfields, this.SelectedTable); 00167 this.EnableDeleteButton(); 00168 } 00175 protected void BTNadd_Click(object sender, EventArgs e) 00176 { 00177 this.AddTableField(); 00178 this.EnableRemoveButton(); 00179 this.InitializeFieldFlags(this.SelectedField); 00180 } 00187 protected void BTNremove_Click(object sender, EventArgs e) 00188 { 00189 this.RemoveTableField(); 00190 this.EnableRemoveButton(); 00191 this.InitializeFieldFlags(this.SelectedField); 00192 } 00199 protected void LBTNlogout_Click(object sender, EventArgs e) 00200 { 00201 UI.Common.AccessManagement.SignOut(this); 00202 } 00208 protected void LBfields_SelectedIndexChanged(object sender, EventArgs e) 00209 { 00210 this.TXTfieldname.Text = this.SelectedField.Name; 00211 this.TXTfieldpurpose.Text = this.SelectedField.FieldPurpose; 00212 InitializeFieldFlags(this.SelectedField); 00213 this.EnableRemoveButton(); 00214 try 00215 { 00216 this.SetTableFieldCategorySelection(this.SelectedField); 00217 UI.Common.TableManagement.InitializeTableFieldSizeListByFieldCategory(this.DDLsize, this.SelectedFieldCategory); 00218 this.SetFieldSizeVisibility(); 00219 this.SetFieldRelatedTableVisibility(); 00220 this.EnableDisableMultilineCheckbox(); 00221 this.SetTableFieldRelatedTableSelection(this.SelectedField); 00222 this.SetTableFieldNecessitySelection(this.SelectedField); 00223 00224 this.SetTableFieldSizeSelection(this.SelectedField); 00225 // this.SetTableFieldCategorySelection(this.SelectedField); 00226 } 00227 catch 00228 { 00229 00230 } 00231 } 00237 protected void DDLcategory_SelectedIndexChanged(object sender, EventArgs e) 00238 { 00239 UI.Common.TableManagement.InitializeSubcategoryListByCategory(this.DDLsubcategory, this.SelectedCategory); 00240 } 00246 protected void DDLfieldcategory_SelectedIndexChanged(object sender, EventArgs e) 00247 { 00248 UI.Common.TableManagement.InitializeTableFieldSizeListByFieldCategory(this.DDLsize, this.SelectedFieldCategory); 00249 this.SetFieldSizeVisibility(); 00250 this.SetFieldRelatedTableVisibility(); 00251 this.EnableDisableMultilineCheckbox(); 00252 } 00260 protected void BTNedit_Click(object sender, EventArgs e) 00261 { 00262 this.EditMode = true; 00263 this.EnableRemoveButton(); 00264 } 00272 protected void BTNsave_Click(object sender, EventArgs e) 00273 { 00274 this.SaveTable(); 00275 this.EnableRemoveButton(); 00276 } 00284 protected void BTNdiscard_Click(object sender, EventArgs e) 00285 { 00286 this.Session[RAIS.UI.Common.Constants.TABLES_TAG] = null; //for resetting 00287 UI.Common.TableManagement.InitializeTablesByGroup(this, this.SelectedTableGroup); 00288 this.EnableRemoveButton(); 00289 this.EditMode = false; 00290 } 00291 #endregion 00292 //********************************************************************* 00293 #region Private helper methods 00294 00299 private void SetTableFieldCategorySelection(Field field) 00300 { 00301 if (field != null) 00302 { 00303 this.DDLfieldcategory.SelectedValue = field.TypeData.VisibleName; 00304 } 00305 } 00311 private void SetTableFieldSizeSelection(Field field) 00312 { 00313 if (field != null) 00314 { 00315 this.DDLsize.SelectedValue = field.SizeData.VisibleName; 00316 } 00317 } 00323 private void SetTableFieldNecessitySelection(Field field) 00324 { 00325 if (field != null) 00326 { 00327 this.DDLnecessity.SelectedValue = field.NecessityData.VisibleName; 00328 } 00329 } 00335 private void SetTableFieldRelatedTableSelection(Field field) 00336 { 00337 if (field != null && field.RelatedTable != null) 00338 { 00339 this.DDLrelatedtable.SelectedValue = field.RelatedTable.Name; 00340 } 00341 } 00346 private bool AddNewTable() 00347 { 00348 string returnMessage = ""; 00349 bool success = this.ValidateData(ref returnMessage); 00350 if (success) 00351 { 00352 RAIS.Common.TableManagement.Table table = this.GetTableFromMask(null); 00353 success = RAIS.ApplicationLogicLayer.TableManagement.AddTable(table 00354 , this.SelectedTableGroup 00355 , this.TXTmaskname.Text 00356 , this.SelectedSubcategory.ID 00357 , DynamicMask.DynamicMaskType.SingleRowMaskWithList 00358 , this.TXTmaskname.Text 00359 , false 00360 , true 00361 , ref returnMessage); 00362 00363 if (success) 00364 { 00365 this.Session[RAIS.UI.Common.Constants.TABLES_TAG] = null; //for resetting 00366 UI.Common.TableManagement.InitializeTableListByGroup(this.DDLtable, this.SelectedTableGroup); 00367 this.DDLtable.SelectedValue = table.Name; 00368 UI.Common.TableManagement.InitializeTableFieldsList(this.LBfields, this.SelectedTable); 00369 00370 UI.Common.PageManagement.InitializePage(this, this.TreeView1); 00371 } 00372 00373 EnableDeleteButton(); 00374 this.TXTtablename.Text = ""; 00375 this.TXTmaskname.Text = ""; 00376 } 00377 RAIS.UI.Common.MessageDisplay.DisplayReturnMessage( this.LBLresult, 00378 returnMessage, 00379 success); 00380 return success; 00381 } 00388 bool ValidateData(ref string returnMessage) 00389 { 00390 if (this.TXTtablename.Text.Length > 0) 00391 if (this.TXTmaskname.Text.Length > 0) 00392 return true; 00393 else 00394 { 00395 returnMessage = RAIS.Common.Messages.MASK_NAME_MISSING; 00396 return false; 00397 } 00398 else 00399 { 00400 returnMessage = RAIS.Common.Messages.TABLE_NAME_MISSING; 00401 return false; 00402 } 00403 } 00410 RAIS.Common.TableManagement.Table GetTableFromMask(RAIS.Common.TableManagement.Table table) 00411 { 00412 if (table == null) 00413 table = new RAIS.Common.TableManagement.Table(); 00414 00415 table.Name = this.TXTtablename.Text; 00416 table.TypeText = this.DDLtabletype.SelectedValue; 00417 table.NeedsValidation = this.CBneedsvalidation.Checked; 00418 00419 return table; 00420 } 00424 private void DeleteSelectedTable() 00425 { 00426 RAIS.Common.TableManagement.Table selectedTable = this.SelectedTable; 00427 00428 if (selectedTable != null) 00429 { 00430 string returnMessage = ""; 00431 bool success = ApplicationLogicLayer.TableManagement.RemoveTable(selectedTable, ref returnMessage); 00432 this.Session[RAIS.UI.Common.Constants.TABLES_TAG] = null; //for resetting 00433 UI.Common.TableManagement.InitializeTableListByGroup(this.DDLtable, this.SelectedTableGroup); 00434 this.TXTfieldname.Text = ""; 00435 if (this.SelectedTable != null) 00436 UI.Common.TableManagement.InitializeTableFieldsList(this.LBfields, this.SelectedTable); 00437 else 00438 this.LBfields.Items.Clear(); 00439 this.EnableDeleteButton(); 00440 RAIS.UI.Common.MessageDisplay.DisplayReturnMessage( this.LBLresult, 00441 returnMessage, 00442 success); 00443 00444 UI.Common.PageManagement.InitializePage(this, this.TreeView1); 00445 } 00446 } 00450 private void AddTableField() 00451 { 00452 RAIS.Common.TableManagement.Table selectedTable = this.SelectedTable; 00453 if (selectedTable != null) 00454 { 00455 Field tableField = new Field(); 00456 00457 tableField.Name = this.TXTfieldname.Text; 00458 tableField.FieldPurpose = this.TXTfieldpurpose.Text; 00459 tableField.TypeText = this.DDLfieldcategory.SelectedValue; 00460 tableField.SizeText = this.DDLsize.SelectedValue; 00461 tableField.NecessityText = this.DDLnecessity.SelectedValue; 00462 tableField.Multiline = this.CBmultiline.Checked; 00463 tableField.VisibleOnForms = this.CBvisableonforms.Checked; 00464 tableField.UniqueValue = this.CBuniquevalie.Checked; 00465 if (tableField.Type == Field.FieldType.SingleLookup 00466 || tableField.Type == Field.FieldType.MultipleLookup 00467 || tableField.Type == Field.FieldType.LookupPlusIntegerValue 00468 || tableField.Type == Field.FieldType.LookupPlusScientificValue) 00469 { 00470 tableField.RelatedTable = this.SelectedRelatedTable; 00471 } 00472 else 00473 tableField.RelatedTable = null; 00474 00475 //tableField.SystemField = this.CBsystemfield.Checked; 00476 00477 string returnMessage = RAIS.Common.Messages.MODIFICATION_PRESS_SAVE; 00478 bool success = this.ValidateNewTableField(tableField, ref returnMessage); 00479 if (success) 00480 { 00481 // success = ApplicationLogicLayer.TableManagement.AddField(selectedTable, tableField, ref returnMessage); 00482 success = selectedTable.AddField(tableField, ref returnMessage); 00483 this.EnableDisableControls(); 00484 UI.Common.TableManagement.InitializeTableFieldsList(this.LBfields, this.SelectedTable); 00485 if( success ) 00486 this.LBfields.SelectedValue = tableField.Name; 00487 } 00488 RAIS.UI.Common.MessageDisplay.DisplayReturnMessage(this.LBLresult, 00489 returnMessage, 00490 success); 00491 } 00492 } 00496 private void RemoveTableField() 00497 { 00498 Field selectedField = this.SelectedField; 00499 RAIS.Common.TableManagement.Table selectedTable = this.SelectedTable; 00500 if (selectedField != null) 00501 { 00502 string returnMessage = RAIS.Common.Messages.MODIFICATION_PRESS_SAVE; 00503 // bool success = ApplicationLogicLayer.TableManagement.RemoveField(selectedField, ref returnMessage); 00504 bool success = selectedTable.RemoveField(selectedField, ref returnMessage); 00505 this.EnableDisableControls(); 00506 UI.Common.TableManagement.InitializeTableFieldsList(this.LBfields, this.SelectedTable); 00507 00508 RAIS.UI.Common.MessageDisplay.DisplayReturnMessage( this.LBLresult, 00509 returnMessage, 00510 success); 00511 } 00512 } 00521 bool ValidateNewTableField(Field newField, ref string returnMessage) 00522 { 00523 RAIS.Common.TableManagement.Table selectedTable = this.SelectedTable; 00524 if (selectedTable == null) 00525 { 00526 returnMessage = RAIS.Common.Messages.TABLE_DOES_NOT_EXIST; 00527 return false; 00528 } 00529 else 00530 { 00531 return selectedTable.ValidateNewField(newField, ref returnMessage); 00532 } 00533 } 00534 00535 private void InitializeFieldFlags(Field field) 00536 { 00537 if (field != null) 00538 { 00539 this.CBsystemfield.Checked = field.SystemField; 00540 this.CBuniquevalie.Checked = field.UniqueValue; 00541 this.CBvisableonforms.Checked = field.VisibleOnForms; 00542 this.CBmultiline.Checked = field.Multiline; 00543 } 00544 else 00545 { 00546 this.CBsystemfield.Checked = false; 00547 //this.CBuniquevalie.Checked = false; 00548 //this.CBvisableonforms.Checked = false; 00549 //this.CBmultiline.Checked = false; 00550 } 00551 } 00555 private void EnableDeleteButton() 00556 { 00557 if (this.EditMode) 00558 this.BTNdelete.Enabled = false; 00559 else 00560 this.BTNdelete.Enabled = this.DDLtable.Items.Count > 0 00561 && this.SelectedTable != null && this.SelectedTable.CustomTable; 00562 } 00566 private void EnableRemoveButton() 00567 { 00568 if (!this.EditMode) 00569 this.BTNremove.Enabled = false; 00570 else 00571 this.BTNremove.Enabled = (this.LBfields.Items.Count > 0 00572 && this.LBfields.SelectedIndex != -1 00573 && !this.CBsystemfield.Checked); 00574 } 00579 private bool SaveTable() 00580 { 00581 string returnMessage = ""; 00582 bool success = true; 00583 00584 if (!this.Modified) 00585 { 00586 returnMessage = RAIS.Common.Messages.CUSTOM_TABLE_NO_MODIFICATION; 00587 success = false; 00588 } 00589 else 00590 { 00591 success = ApplicationLogicLayer.TableManagement.SaveCustomTable(this.SelectedTable, ref returnMessage); 00592 if (success) 00593 this.EditMode = false; 00594 } 00595 RAIS.UI.Common.MessageDisplay.DisplayReturnMessage(this.LBLresult, 00596 returnMessage, 00597 success); 00598 return success; 00599 } 00604 private bool ConfirmTableDeletion() 00605 { 00606 return true; 00607 } 00611 private void EnableDisableControls() 00612 { 00613 this.LBfields.Enabled = this.EditMode; 00614 this.TXTfieldname.Enabled = this.EditMode; 00615 this.TXTfieldpurpose.Enabled = this.EditMode; 00616 00617 this.DDLfieldcategory.Enabled = this.EditMode; 00618 this.DDLsize.Enabled = this.EditMode; 00619 this.DDLnecessity.Enabled = this.EditMode; 00620 this.DDLrelatedtable.Enabled = this.EditMode; 00621 00622 this.CBneedsvalidation.Enabled = !this.EditMode; 00623 00624 this.CBmultiline.Enabled = this.EditMode; 00625 // System field check box must be always disable - 00626 // user can not change it in the user interface !!! 00627 //this.CBsystemfield.Enabled = this.EditMode; 00628 this.CBsystemfield.Enabled = false; 00629 this.CBuniquevalie.Enabled = this.EditMode; 00630 this.CBvisableonforms.Enabled = this.EditMode; 00631 00632 this.BTNadd.Enabled = this.EditMode; 00633 this.BTNremove.Enabled = this.EditMode; 00634 00635 this.BTNedit.Enabled = !this.EditMode; 00636 this.BTNsave.Enabled = this.Modified; 00637 this.BTNdiscard.Enabled = this.EditMode; ; 00638 00639 this.TXTtablename.Enabled = !this.EditMode; 00640 this.TXTmaskname.Enabled = !this.EditMode; 00641 this.BTNcreate.Enabled = !this.EditMode; 00642 //this.BTNdelete.Enabled = !this.EditMode; 00643 this.EnableDeleteButton(); 00644 00645 this.DDLtablegroup.Enabled = !this.EditMode; 00646 this.DDLtabletype.Enabled = !this.EditMode; 00647 this.DDLcategory.Enabled = !this.EditMode; 00648 this.DDLsubcategory.Enabled = !this.EditMode; 00649 this.DDLtable.Enabled = !this.EditMode; 00650 00651 UI.Common.UserManagement.EnableCommonControls(this, !this.EditMode); 00652 00653 this.LBLadmin.ForeColor = RAIS.UI.Common.Constants.COLOR_OF_MENU_BAR_TEXT_HIGHLIGHT; 00654 } 00658 private void SetFieldSizeVisibility() 00659 { 00660 bool sizeVizibility = false; 00661 if (this.SelectedFieldCategory == Field.FieldType.Text 00662 || this.SelectedFieldCategory == Field.FieldType.Numeric) 00663 { 00664 sizeVizibility = true; 00665 } 00666 this.LBLsize.Visible = sizeVizibility; 00667 this.DDLsize.Visible = sizeVizibility; 00668 } 00672 private void SetFieldRelatedTableVisibility() 00673 { 00674 bool relatedTableVizibility = false; 00675 if (this.SelectedFieldCategory == Field.FieldType.SingleLookup 00676 || this.SelectedFieldCategory == Field.FieldType.LookupPlusIntegerValue 00677 || this.SelectedFieldCategory == Field.FieldType.LookupPlusScientificValue 00678 || this.SelectedFieldCategory == Field.FieldType.MultipleLookup) 00679 { 00680 relatedTableVizibility = true; 00681 } 00682 this.LBLrelatedtable.Visible = relatedTableVizibility; 00683 this.DDLrelatedtable.Visible = relatedTableVizibility; 00684 } 00688 private void EnableDisableMultilineCheckbox() 00689 { 00690 if (this.SelectedFieldCategory == Field.FieldType.Text) 00691 CBmultiline.Enabled = true; 00692 else 00693 CBmultiline.Enabled = false; 00694 } 00695 #endregion 00696 //********************************************************************* 00697 #region Private properties 00698 00701 private RAIS.Common.TableManagement.Table.TableType SelectedTableType 00702 { 00703 get 00704 { 00705 TableTypes tableTypes = RAIS.ApplicationLogicLayer.TableManagement.TableTypes; 00706 if (tableTypes != null && tableTypes.ContainsKey(this.DDLtabletype.SelectedValue)) 00707 return tableTypes[this.DDLtabletype.SelectedValue].Type; 00708 else 00709 return RAIS.Common.TableManagement.Table.TableType.Single; 00710 } 00711 } 00715 private TableGroup SelectedTableGroup 00716 { 00717 get 00718 { 00719 TableGroups tableGroups = RAIS.ApplicationLogicLayer.TableManagement.TableGroups; 00720 if (tableGroups != null && tableGroups.ContainsKey(this.DDLtablegroup.SelectedValue)) 00721 return tableGroups[this.DDLtablegroup.SelectedValue]; 00722 else 00723 return null; 00724 } 00725 } 00729 private RAIS.Common.TableManagement.Table SelectedTable 00730 { 00731 get 00732 { 00733 //Tables tables = RAIS.ApplicationLogicLayer.TableManagement.GetCustomTablesByGroup(this.SelectedTableGroup); 00734 Tables tables = (Tables)this.Session[RAIS.UI.Common.Constants.TABLES_TAG]; 00735 if (tables != null && tables.ContainsKey(this.DDLtable.SelectedValue)) 00736 return tables[this.DDLtable.SelectedValue]; 00737 else 00738 return null; 00739 } 00740 } 00744 private RAIS.Common.TableManagement.Table SelectedRelatedTable 00745 { 00746 get 00747 { 00748 Tables tables = RAIS.ApplicationLogicLayer.TableManagement.AllTables; 00749 if (tables != null && tables.ContainsKey(this.DDLrelatedtable.SelectedValue)) 00750 return tables[this.DDLrelatedtable.SelectedValue]; 00751 else 00752 return null; 00753 } 00754 } 00758 private Field SelectedField 00759 { 00760 get 00761 { 00762 RAIS.Common.TableManagement.Table selectedTable = this.SelectedTable; 00763 if (selectedTable != null && selectedTable.Fields.ContainsKey(this.LBfields.SelectedValue)) 00764 return selectedTable.Fields[this.LBfields.SelectedValue]; 00765 else 00766 return null; 00767 } 00768 } 00772 private FunctionRole.Category SelectedCategory 00773 { 00774 get 00775 { 00776 FunctionRoleCategories categories = RAIS.ApplicationLogicLayer.UserManagement.FunctionalRoleCategories; 00777 if (categories != null && categories.ContainsKey(this.DDLcategory.SelectedValue)) 00778 return categories[this.DDLcategory.SelectedValue]; 00779 else 00780 return null; 00781 } 00782 } 00786 private FunctionRole.Subcategory SelectedSubcategory 00787 { 00788 get 00789 { 00790 FunctionRoleSubcategories subcategories = RAIS.ApplicationLogicLayer.UserManagement.GetFunctionalRoleSubcategories(this.SelectedCategory, false); 00791 if (subcategories != null && subcategories.ContainsKey(this.DDLsubcategory.SelectedValue)) 00792 return subcategories[this.DDLsubcategory.SelectedValue]; 00793 else 00794 return null; 00795 } 00796 } 00800 private Field.FieldType SelectedFieldCategory 00801 { 00802 get 00803 { 00804 FieldTypes fieldCategories = RAIS.ApplicationLogicLayer.TableManagement.FieldTypes; 00805 return fieldCategories[this.DDLfieldcategory.SelectedValue].Type; 00806 } 00807 } 00811 bool EditMode 00812 { 00813 get 00814 { 00815 if (this.Session[RAIS.UI.Common.Constants.CUSTOM_TABLES_EDIT_MODE_TAG] != null) 00816 return (bool)this.Session[RAIS.UI.Common.Constants.CUSTOM_TABLES_EDIT_MODE_TAG]; 00817 else 00818 return false; 00819 } 00820 set 00821 { 00822 this.Session[RAIS.UI.Common.Constants.CUSTOM_TABLES_EDIT_MODE_TAG] = value; 00823 if (this.SelectedTable.Fields.Count == 0 || this.SelectedField == null) 00824 { 00825 if(value) 00826 this.CBsystemfield.Checked = false; 00827 00828 this.CBvisableonforms.Checked = value; 00829 } 00830 this.EnableDisableControls(); 00831 } 00832 } 00836 bool Modified 00837 { 00838 get 00839 { 00840 if (this.SelectedTable != null) 00841 return this.SelectedTable.Modified; 00842 else 00843 return false; 00844 } 00845 set 00846 { 00847 if (!value) 00848 { 00849 this.SelectedTable.Modified = false; 00850 this.Session[RAIS.UI.Common.Constants.TABLES_TAG] = null; 00851 this.EnableDisableControls(); 00852 } 00853 } 00854 } 00858 protected UserData CurrentUser 00859 { 00860 get { return (UserData)this.Session[UI.Common.Constants.CURRENT_USER_TAG]; } 00861 } 00862 #endregion 00863 } 00864 }